package com.relytosoft.mizar.media.camera.services.utils;

import com.relytosoft.dubhe.common.core.exception.ServiceException;
import com.relytosoft.dubhe.common.core.object.ResponseResult;

import java.util.Objects;

/**
 * @author lj
 * @date 2022/4/21 9:16
 */
public class FeignInResultHandleUtils {

    /**
     * 第一个 表示是泛型
     * 第二个 表示返回的是T类型的数据
     * 第三个 限制参数类型为T
     *
     * @param result 远程调用返回结果
     * @param <T>    泛型
     * @return <T>
     */
    public static  <T> T handlerResponse(ResponseResult<T> result) {
        if (result == null) {
            throw new ServiceException("远程接口返回的结果错误");
        }
        try {
            T data = result.getData();
            return Objects.isNull(data) ? null : data;
        } catch (Exception ex) {
            throw new ServiceException(ex.getMessage());
        }
    }
}
